home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1996 May: Tool Chest / Developer CD Series May 1996 (Tool Chest) (Apple Computer) (1996).iso / Sample Code / Snippets / Files / GetVInfo ƒ / PBHGetVInfo.c next >
Encoding:
Text File  |  1995-02-07  |  3.8 KB  |  117 lines  |  [TEXT/MPS ]

  1. //
  2. // MPW Tool by im.
  3. // Usage : PBHGetVInfo [-i index] [-v volumeName:] [-r vRefNum]
  4. // 
  5.  
  6. #include    <Files.h>
  7. #include    <stdio.h>
  8. #include    <StdLib.h>
  9. #include    <string.h>
  10. #include    <strings.h>
  11. #include    <Quickdraw.h>
  12. #include    <TextUtils.h>
  13.  
  14. HParamBlockRec    pb;
  15. Str255            volName;
  16.  
  17. main (int argc, char *argv[], char *envp[]) {
  18.     
  19.         auto    OSErr    osErr;
  20.         auto    short    index;
  21.         auto    char    *option, *parameter;
  22.         auto    Str255    string;
  23.         
  24.         InitGraf(&qd.thePort);
  25.  
  26.         pb.volumeParam.ioNamePtr        = volName;
  27.         pb.volumeParam.ioVRefNum        = 0;
  28.         pb.volumeParam.ioVolIndex        = 0;
  29.  
  30.         index = 1;
  31.         while (index < argc) {
  32.         
  33.             option = argv[index++];
  34.             parameter = argv[index++];
  35.             
  36.             if ('-' != option[0] || (! strchr("ivr", option[1])) || index > argc) {
  37.                 printf("PBHGetVInfo [-i index] [-v volumeName:] [-r vRefNum]\n");
  38.                 exit(1);
  39.             } else {
  40.                 switch (option[1]) {
  41.                     case 'i' :
  42.                         sscanf(parameter, "%hd", &pb.volumeParam.ioVolIndex);
  43.                         break;
  44.                     case 'v' :
  45.                         parameter = (char *) c2pstr(parameter);
  46.                         pb.volumeParam.ioNamePtr = parameter;
  47.                         break;
  48.                     case 'r' :
  49.                         sscanf(parameter, "%hd", &pb.volumeParam.ioVRefNum);
  50.                         break;
  51.                         break;
  52.                 }
  53.             }            
  54.         }
  55.         
  56.     //    printf("ioNamePtr        = %P\n",    pb.volumeParam.ioNamePtr);
  57.     //    printf("ioVRefNum        = %hd\n",     pb.volumeParam.ioVRefNum);
  58.     //    printf("ioVolIndex        = %hd\n",     pb.volumeParam.ioVolIndex);
  59.         
  60.         osErr = PBHGetVInfo(&pb, false);
  61.         
  62.         if (noErr != osErr) {
  63.             printf("osErr            = %d\n",    osErr);
  64.         } else {
  65.             printf("ioResult        = %hd\n",    pb.volumeParam.ioResult);
  66.             printf("ioNamePtr        = %P\n",    pb.volumeParam.ioNamePtr);
  67.             printf("ioVRefNum        = %hd\n",     pb.volumeParam.ioVRefNum);
  68.             
  69.             printf("ioVolIndex        = %hd\n",     pb.volumeParam.ioVolIndex);
  70.             
  71.             IUDateString(pb.volumeParam.ioVCrDate, shortDate, string);
  72.             printf("ioVCrDate        = %P  ",     string);
  73.             IUTimeString(pb.volumeParam.ioVCrDate, false, string);
  74.             printf("%P\n",     string);
  75.             
  76.             IUDateString(pb.volumeParam.ioVLsMod, shortDate, string);
  77.             printf("ioVLsMod        = %P  ", string);
  78.             IUTimeString(pb.volumeParam.ioVLsMod, false, string);
  79.             printf("%P\n",     string);
  80.             
  81.             printf("ioVAtrb            = %hd\n",     pb.volumeParam.ioVAtrb);
  82.             printf("ioVNmFls        = %hu\n",     pb.volumeParam.ioVNmFls);
  83.             printf("ioVBitMap        = %hd\n",     pb.volumeParam.ioVBitMap);
  84.             printf("ioAllocPtr        = %hd\n",     pb.volumeParam.ioAllocPtr);
  85.             printf("ioVNmAlBlks        = %hu\n",     pb.volumeParam.ioVNmAlBlks);
  86.             printf("ioVAlBlkSiz        = %ld\n",     pb.volumeParam.ioVAlBlkSiz);
  87.             printf("ioVClpSiz        = %ld\n",     pb.volumeParam.ioVClpSiz);
  88.             printf("ioAlBlSt        = %hd\n",     pb.volumeParam.ioAlBlSt);
  89.             printf("ioVNxtCNID        = %ld\n",     pb.volumeParam.ioVNxtCNID);
  90.             printf("ioVFrBlk        = %hu\n",     pb.volumeParam.ioVFrBlk);
  91.             
  92.             printf("ioVSigWord        = %hu\n",     pb.volumeParam.ioVSigWord);
  93.             printf("ioVDrvInfo        = %hd\n",     pb.volumeParam.ioVDrvInfo);
  94.             printf("ioVDRefNum        = %hd\n",     pb.volumeParam.ioVDRefNum);
  95.             printf("ioVFSID            = %hd\n",     pb.volumeParam.ioVFSID);
  96.             
  97.             IUDateString(pb.volumeParam.ioVBkUp, shortDate, string);
  98.             printf("ioVBkUp            = %P  ", string);
  99.             IUTimeString(pb.volumeParam.ioVBkUp, false, string);
  100.             printf("%P\n",     string);
  101.  
  102.             printf("ioVSeqNum        = %hu\n",     pb.volumeParam.ioVSeqNum);
  103.             printf("ioVWrCnt        = %ld\n",     pb.volumeParam.ioVWrCnt);
  104.             printf("ioVFilCnt        = %ld\n",     pb.volumeParam.ioVFilCnt);
  105.             printf("ioVDirCnt        = %ld\n",     pb.volumeParam.ioVDirCnt);
  106.             
  107.             printf("ioVFndrInfo[0]    = %ld\n",     pb.volumeParam.ioVFndrInfo[0]);
  108.             printf("ioVFndrInfo[0]    = %ld\n",     pb.volumeParam.ioVFndrInfo[1]);
  109.             printf("ioVFndrInfo[0]    = %ld\n",     pb.volumeParam.ioVFndrInfo[2]);
  110.             printf("ioVFndrInfo[0]    = %ld\n",     pb.volumeParam.ioVFndrInfo[3]);
  111.             printf("ioVFndrInfo[0]    = %ld\n",     pb.volumeParam.ioVFndrInfo[4]);
  112.             printf("ioVFndrInfo[0]    = %ld\n",     pb.volumeParam.ioVFndrInfo[5]);
  113.             printf("ioVFndrInfo[0]    = %ld\n",     pb.volumeParam.ioVFndrInfo[6]);
  114.             printf("ioVFndrInfo[0]    = %ld\n",     pb.volumeParam.ioVFndrInfo[7]);
  115.         }
  116. }
  117.